package com.dupt.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dupt.common.annotation.Excel;
import com.dupt.common.core.domain.BaseEntity;

/**
 * 借用归还信息对象 dupt_material_borrow_return
 *
 * @author zhuanyu.sun
 * @date 2025-08-27
 */
public class MaterialBorrowReturn extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 物料借用ID */
    private Long materialBorrowId;

    /** 序列号ID */
    @Excel(name = "序列号ID")
    private Long materialSerialId;

    /** 借用人 */
    @Excel(name = "借用人")
    private String borrowBy;

    /** 借用人ID */
    @Excel(name = "借用人ID")
    private String borrowerId;

    /** 借用日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "借用日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date borrowTime;

    /** 预计归还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预计归还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date predictReturnTime;

    /** 归还日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "归还日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date returnTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 是否归还 */
    @Excel(name = "是否归还")
    private Integer isReturn;

    public void setMaterialBorrowId(Long materialBorrowId)
    {
        this.materialBorrowId = materialBorrowId;
    }

    public Long getMaterialBorrowId()
    {
        return materialBorrowId;
    }

    public void setMaterialSerialId(Long materialSerialId)
    {
        this.materialSerialId = materialSerialId;
    }

    public Long getMaterialSerialId()
    {
        return materialSerialId;
    }

    public void setBorrowBy(String borrowBy)
    {
        this.borrowBy = borrowBy;
    }

    public String getBorrowBy()
    {
        return borrowBy;
    }

    public void setBorrowerId(String borrowerId)
    {
        this.borrowerId = borrowerId;
    }

    public String getBorrowerId()
    {
        return borrowerId;
    }

    public void setBorrowTime(Date borrowTime)
    {
        this.borrowTime = borrowTime;
    }

    public Date getBorrowTime()
    {
        return borrowTime;
    }

    public void setPredictReturnTime(Date predictReturnTime)
    {
        this.predictReturnTime = predictReturnTime;
    }

    public Date getPredictReturnTime()
    {
        return predictReturnTime;
    }

    public void setReturnTime(Date returnTime)
    {
        this.returnTime = returnTime;
    }

    public Date getReturnTime()
    {
        return returnTime;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setIsReturn(Integer isReturn)
    {
        this.isReturn = isReturn;
    }

    public Integer getIsReturn()
    {
        return isReturn;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("materialBorrowId", getMaterialBorrowId())
                .append("materialSerialId", getMaterialSerialId())
                .append("borrowBy", getBorrowBy())
                .append("borrowerId", getBorrowerId())
                .append("borrowTime", getBorrowTime())
                .append("predictReturnTime", getPredictReturnTime())
                .append("returnTime", getReturnTime())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("isReturn", getIsReturn())
                .toString();
    }
}
